package es.ats.codington.festival.interfaces.services;

import java.sql.SQLException;
import java.util.List;

import es.ats.codington.festival.domain.Visitor;

/**
 * The Interface IVisitorService.
 */
public interface IVisitorService {
	
	/**
	 * Login visitor.
	 *
	 * @param visitor the visitor
	 * @return the visitor
	 * @throws SQLException the SQL exception
	 * @throws ClassNotFoundException the class not found exception
	 */
	public Visitor login(Visitor visitor) throws SQLException, ClassNotFoundException;
	
	/**
	 * Update visitor pass.
	 *
	 * @param visitor the visitor
	 * @return true, if successful
	 * @throws SQLException the SQL exception
	 * @throws ClassNotFoundException the class not found exception
	 */
	public boolean updateVisitorPass(Visitor visitor)throws SQLException, ClassNotFoundException;	

	/**
	 * Delete visitor.
	 *
	 * @param idVisitor the id visitor
	 * @return true, if successful
	 * @throws Exception the exception
	 */
	public boolean deleteVisitor(int idVisitor) throws Exception;
	
	/**
	 * List all visitors.
	 *
	 * @return the list
	 * @throws SQLException the SQL exception
	 * @throws ClassNotFoundException the class not found exception
	 */
	public List<Visitor> listAllVisitors(int idAdmin)throws SQLException, ClassNotFoundException;	
}
